/*************************************************************************
	> File Name: 005.变参函数.c
	> Author: Maureen 
	> Mail: Maureen@qq.com 
	> Created Time: 一  8/23 08:38:19 2021
 ************************************************************************/

#include <stdio.h>
#include <stdarg.h>

int max_int(int n, ...) {
    if (n < 0) return 0;
    int ans = 0;
    va_list arg; //存储...所有的值
    va_start(arg, n); //变参列表的参数赋值给arg，初始化arg
    while (n--) {
        int temp = va_arg(arg, int); //对每个可选参数，读取类型为int的参数
        if (temp > ans) ans = temp;
    }
    va_end(arg);
    return ans;
}

int main() {
    printf("%d\n", max_int(3, 1, 2, 5)); //5
    printf("%d\n", max_int(2, 1, 7, 17)); //7
    printf("%d\n", max_int(3, 3, 6, 18)); //18
    return 0;
}
